import uniPromisify from './uniPromisify'
const Vutil = {}
Vutil.install = function (Vue) {
  // 1. 添加全局方法或属性
  // Vue.myGlobalMethod = function () {
  //   // 逻辑...
  // }

  // 2. 添加全局资源

  // Vue.directive('some', {

  // })

  // 3. 注入组件
  // Vue.mixin({
  //   created: function () {
  //     // 逻辑...
  //   }
  // })

  // 4. 添加实例方法
  Vue.prototype.$myMethod = function () {
    // 逻辑...
  }

  Vue.prototype.$debug = process.env.NODE_ENV !== 'production'

  Vue.prototype.$uniPromisify = uniPromisify

  Vue.prototype.$checkLogin = function () {
    if (!this.$store.getters.isLogin) {
      uni.showModal({
        content: '您还未登录请先登录',
        confirmColor: '#00A2FF',
        success(res) {
          if (res.confirm) {
            uni.navigateTo({
              url: '/pages/login/index'
            })
          } else if (res.cancel) {
            // console.log('用户点击取消')
          }
        }
      })

      return false
    }
    return true
  }

  // 区分用户去首页
  // Vue.prototype.$goHome = function() {
  //   if (this.$store.getters.isRoleAdmin) {
  //     uni.redirectTo({
  //       url: '/pages/user/admin'
  //     })
  //   } else {
  //     uni.switchTab({
  //       url: '/pages/home/index'
  //     })
  //   }
  // }

  // 注册store
  Vue.prototype.$registerVuexModule = function (name, vuexModule) {
    if (!this.$store.state[name]) {
      console.log('register module')
      this.$store.registerModule(name, vuexModule)
    }
  }

  // app component
  // uniapp中 全局组件好像只能在main.js中注册
}

export default Vutil
